package com.doujiang.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doujiang.domain.Comment;
import com.doujiang.domain.dto.HotCommentDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 评论管理Mapper接口
 * 
 * @author 王伟舰
 * @date 2025-07-19
 */
@Repository
@Mapper
public interface CommentMapper extends BaseMapper<Comment>
{
    /**
     * 查询评论管理
     * 
     * @param id 评论管理主键
     * @return 评论管理
     */
    public Comment selectCommentById(Long id);

    /**
     * 查询评论管理列表
     * 
     * @param comment 评论管理
     * @return 评论管理集合
     */
    public List<Comment> selectCommentList(Comment comment);

    /**
     * 新增评论管理
     * 
     * @param comment 评论管理
     * @return 结果
     */
    public int insertComment(Comment comment);

    /**
     * 修改评论管理
     * 
     * @param comment 评论管理
     * @return 结果
     */
    public int updateComment(Comment comment);

    /**
     * 删除评论管理
     * 
     * @param id 评论管理主键
     * @return 结果
     */
    public int deleteCommentById(Long id);

    /**
     * 批量删除评论管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCommentByIds(Long[] ids);

    /**
     * 获取热门评论（按点赞数排序）
     * 
     * @param limit 限制数量
     * @return 热门评论列表
     */
    public List<HotCommentDTO> getHotComments(@Param("limit") Integer limit);
}
